package cn.study.generate1;

import com.lmax.disruptor.EventHandler;
import com.lmax.disruptor.WorkHandler;

import java.util.UUID;

/**
 * 这里实际上只用继承一个类就行，因为在Main1和Main2中使用了两个不同的消息处理器 BatchEventProcessor、WorkerPool
 * BatchEventProcessor传入的参数需要继承EventHandler
 * WorkerPool传入的阐述需要继承WorkHandler
 * 所以这里为了演示方便就两个类都继承了
 */

public class TradeHandler implements EventHandler<Trade>, WorkHandler<Trade> {  
	  
    @Override  
    public void onEvent(Trade event, long sequence, boolean endOfBatch) throws Exception {  
        this.onEvent(event);  
    }  
  
    @Override  
    public void onEvent(Trade event) throws Exception {  
        //这里做具体的消费逻辑  
        event.setId(UUID.randomUUID().toString());//简单生成下ID  
        System.out.println("消费者产生的数据id: " + event.getId() + " 生产者产生的数据price: " + event.getPrice());
    }  
}  